package com.demo529;

import java.util.*;

public class TestMap {
    // 添加员工
    public void addEmp(Map<String, Emp> empMap, Emp emp) {
        if (empMap.containsKey(emp.getNumber())) {
            System.out.println("员工已存在，添加失败！");
        } else {
            empMap.put(emp.getNumber(), emp);
            System.out.println("添加成功！");
        }
    }

    // 显示所有员工
    public void showAllEmp(Map<String, Emp> empMap) {
        if (empMap.isEmpty()) {
            System.out.println("没有员工记录！");
            return;
        }
        System.out.println("---所有员工信息---");
        for (Emp emp : empMap.values()) {
            System.out.println(emp);
        }
    }

    // 按姓名查询
    public void findEmpByName(Map<String, Emp> empMap, String name) {
        boolean found = false;
        for (Emp emp : empMap.values()) {
            if (emp.getName().equals(name)) {
                System.out.println(emp);
                found = true;
            }
        }
        if (!found) {
            System.out.println("未找到姓名为 " + name + " 的员工");
        }
    }

    // 删除员工
    public void deleteEmp(Map<String, Emp> empMap, String number) {
        if (empMap.containsKey(number)) {
            empMap.remove(number);
            System.out.println("删除成功！");
        } else {
            System.out.println("未找到工号为 " + number + " 的员工");
        }
    }

    // 按工号查询
    public void findEmpByNumber(Map<String, Emp> empMap, String number) {
        Emp emp = empMap.get(number);
        if (emp != null) {
            System.out.println(emp);
        } else {
            System.out.println("未找到工号为 " + number + " 的员工");
        }
    }

    // 修改年龄
    public void updateAgeByNumber(Map<String, Emp> empMap, String number, int newAge) {
        Emp emp = empMap.get(number);
        if (emp != null) {
            emp.setAge(newAge);
            System.out.println("修改成功！");
        } else {
            System.out.println("未找到工号为 " + number + " 的员工");
        }
    }

    // 测试方法（可选）
    public static void main(String[] args) {
        Map<String, Emp> testMap = new HashMap<>();
        TestMap test = new TestMap();

        // 测试添加
        test.addEmp(testMap, new Emp("001", "张三", 25));
        test.addEmp(testMap, new Emp("002", "李四", 30));

        // 测试显示
        test.showAllEmp(testMap);
    }
}